package fun.tan90.easy.binlog.manager.service;


import com.mybatisflex.core.service.IService;
import fun.tan90.easy.binlog.base.convention.Res;
import fun.tan90.easy.binlog.base.convention.page.SimplePage;
import fun.tan90.easy.binlog.manager.model.cmd.BinlogMasterAddCmd;
import fun.tan90.easy.binlog.manager.model.cmd.BinlogMasterPageCmd;
import fun.tan90.easy.binlog.manager.model.cmd.BinlogMasterUpdateCmd;
import fun.tan90.easy.binlog.manager.model.vo.BinlogMasterPageVo;
import fun.tan90.easy.binlog.manager.dataobject.BinlogMaster;
import fun.tan90.easy.binlog.manager.model.vo.BinlogMasterInfoVo;

/**
 * 服务层。
 *
 * @author 陈浩杰
 * @since 2023-09-01
 */
public interface BinlogMasterService extends IService<BinlogMaster> {

    String addBinlogMaster(BinlogMasterAddCmd addCmd);

    boolean updateBinlogMaster(BinlogMasterUpdateCmd updateCmd);

    boolean delBinlogMaster(String id);

    BinlogMasterInfoVo info(String id);

    Res<SimplePage<BinlogMasterPageVo>> paging(BinlogMasterPageCmd pageCmd);

    String publishBinlogClient(String masterId);

    String closeBinlogClient(String masterId);
}
